﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SistemadeEstágios.DAL;
using SistemadeEstágios.Model;

namespace SistemadeEstágios.Negocio
{
    public class EstagiarioNG
    {
        private EstagiarosBD _dbEstag;

        public EstagiarioNG()
        {
            _dbEstag = new EstagiarosBD();
        }

        public Estagiaros Buscar(int codigo)
        {
            try
            {
                return _dbEstag.Buscar(codigo);
            }
            catch (Exception e)
            {
                throw new Exception("Não foi possível buscar o estagiário. Erro: " + e.StackTrace);
            }
        }

        public List<Estagiaros> Buscar()
        {
            try
            {
                return _dbEstag.Buscar();
            }
            catch (Exception e)
            {
                throw new Exception("Não foi possível buscar o estagiário. Erro: " + e.StackTrace);
            }
        }

        public bool Insere(Estagiaros obj, bool isNovo)
        {
            try
            {
                if (!isNovo)
                {
                    if (_dbEstag.CriaHistorico(obj.Matricula))
                        return _dbEstag.Alterar(obj);
                    else
                        return false;
                }
                else
                    return _dbEstag.Insere(obj);
            }
            catch (Exception e)
            {
                throw new Exception("Não foi possível inserir o estagiário. Erro: " + e.StackTrace);
            }
        }

        public int Ultimo()
        {
            try
            {
                return _dbEstag.Ultimo();
            }
            catch (Exception e)
            {

                throw new Exception("Não foi possível buscar a ultíma matrícula. Erro: " + e.StackTrace);
            }
        }
    }
}
